/*******************************************************************************
* Project: QSAR(Cute Software Architecture)
*
* Copyright: Copyright(C) 2024 by YuetingBen, All Rights Reserved
*
* File name: CanIfType.h
*
* Brief: ;
*
* Author: Yueting.Ben
*
* Module: CanIf
*
*******************************************************************************/

#ifndef CANIFTYPE_H
#define CANIFTYPE_H

/** HEADER FILES **/
#include "PlatformCfg.h" 
#include "ComStackType.h"

/** MACRO DEFINITION **/


/** TYPEDEF DEFINITION **/
typedef uint8 CanIf_TxIndexType;

typedef uint8 CanIf_RxIndexType;


typedef enum
{
  CANIF_NO_NOTIFICATION = 0u,
  CANIF_TX_RX_NOTIFICATION
}CanIf_NotifStatusType;


typedef uint8 CanIf_PduModeType;
/* = 0 Transmit and receive path of the corresponding channel are disabled => no communication mode */
#define CANIF_OFFLINE ((CanIf_PduModeType)0x00)
/* Transmit path of the corresponding channel is disabled. The receive path is enabled */
#define CANIF_TX_OFFLINE ((CanIf_PduModeType)0x01)
/* Transmit path of the corresponding channel is in offline active mode (see SWS_CANIF_00072). The receive path is enabled.
This mode requires CanIfTxOfflineActive Support = TRUE */
#define CANIF_TX_OFFLINE_ACTIVE ((CanIf_PduModeType)0x02)
/* Transmit and receive path of the corresponding channel are enabled => full operation mode */
#define CANIF_ONLINE ((CanIf_PduModeType)0x03)


typedef struct
{
    uint8 u8_canId;
    uint8 u8_length;
    uint8 u8_buffer[8];
}CANIF_PDU_INFO_S;


typedef void CanIf_ConfigType;




#endif

